all: main Fibonnaci_Test somme_test test_cout_context_unitaire test_cout_context test_cout_1 test_cout_1_p


main: main.c thread.o
	gcc -g -Wall main.c thread.o -o main

thread.o: thread.c macros.h
	gcc -c -g -Wall thread.c

clean:
	rm *o *gch ./main

test_cout_1: test_cout_cree_suppr_thread.c thread.o
	gcc -W -Wall test_cout_cree_suppr_thread.c thread.o -o test_cout_cree_suppr_thread

test_cout_1_p: test_cout_cree_suppr_pthread.c
	gcc -W -Wall -pthread test_cout_cree_suppr_pthread.c -o test_cout_cree_suppr_pthread

test_cout_context_unitaire: test_cout_context_unitaire.c thread.o
	gcc -W -Wall test_cout_context_unitaire.c thread.o -o test_cout_context_unitaire

test_cout_context: test_cout_context.c thread.o
	gcc -W -Wall test_cout_context.c thread.o -o test_cout$



boucle_infinie_test: boucle_infinie_test.c thread.o
	gcc -g boucle_infinie_test.c thread.o -o boucle_infinie_test

changement_contexte_test: changement_contexte_test.c thread.o
	gcc -g changement_contexte_test.c thread.o -o changement_contexte_test

ordonnancement_test: ordonnancement_test.c thread.o
	gcc -g ordonnancement_test.c thread.o -o ordonnancement_test

terminaison_test: terminaison_test.c thread.o
	gcc -g terminaison_test.c thread.o -o terminaison_test

lib: thread.c macros.h
	gcc -fPIC -g -c -Wall thread.c
	gcc -shared -Wl,-soname,libthread.so -o libthread.so thread.o -lc


Fibonnaci_Test: Fibonnaci_Test.c thread.o
	gcc -g Fibonnaci_Test.c thread.o -o Fibonnaci_Test

somme_test: somme_test.c thread.o
	gcc -g somme_test.c thread.o -o somme_test


check:	boucle_infinie_test changement_contexte_test ordonnancement_test terminaison_test
	./boucle_infinie_test
	valgrind --tool=memcheck --leak-check=full -q --track-origins=yes ./boucle_infinie_test
	./changement_contexte_test 
	valgrind --tool=memcheck --leak-check=full -q --track-origins=yes ./changement_contexte_test
	./ordonnancement_test
	valgrind --tool=memcheck --leak-check=full -q --track-origins=yes ./ordonnancement_test
	./terminaison_test
	valgrind --tool=memcheck --leak-check=full -q --track-origins=yes ./terminaison_test
